In general, a position sensor such as encoder, a resolver, or a Hall element is required to control a synchronous motor. However, the position sensor is disadvantageously used in a control apparatus for a synchronous motor with respect to cost reliability of the sensor, cumbersome wiring, and the like. From this viewpoint, a method of controlling a synchronous motor without using a position sensor has been proposed.
For example, as a method of calculating a rotational position and a rotational speed of a synchronous motor based on a mechanical constant such as an inertia, an induced voltage coefficient determined from magnetic flux or the like, and electric constants such as inductance and resistance of the synchronous motor, inventions disclosed in U.S. Pat. Nos. 5,296,793, 5,296,794, Japanese Patent Application Laid-Open No. 03-049589, Japanese Application Laid-Open No. 03-049588, and the like are known.
As a method of calculating a rotational position and a rotational speed of a synchronous motor based on an induced voltage coefficient, which is a function of rotor magnetic flux and an electric constant, such as inductance and resistance of the synchronous motor, inventions disclosed in Japanese Patent Application Laid-Open No. 08-308286, Japanese Patent Application Laid-Open No. 09-191698, and the like are known.
However, even though these methods are used, a mechanical constant such as inertia is unknown, or controllability is deteriorated when degaussing of a magnet is caused by heat generation from an electric motor.
On the other hand, a control method which can solve the above problems without requiring an induced voltage coefficient which is function of a mechanical constant, such as inertia or rotor magnetic flux is proposed in, e.g., “Position and Speed Sensorless Control of Brush-Less DC Motor Based on an Adaptive Observer” The Journal of The Institute of Electrical Engineers of Japan Vol. D113, No. 5 (1993).
FIG. 15 shows a conventional control apparatus for a synchronous motor described in The Journal of The Institute of Electrical Engineers of Japan Vol. D113, No. 5. In this figure, reference numeral 1 denotes a synchronous motor, 2 denotes a current detector, 3 denotes an inverter, 4 denotes a current controller, 5 to 8 denote coordinate converters, 9 denotes an adaptive observer, and 10 denotes a rotational position computing unit.
The synchronous motor 1 has a permanent magnet as a rotor which has a rotor magnetic flux of pdr. An inductance Ld in the direction of the rotor magnetic flux (d-axis direction) is equal to an inductance Lq in a direction (q-axis direction) perpendicular to the direction of the rotor magnetic flux. These inductances are L each. A wire wound resistance of the synchronous motor 1 is R.
As is well known, when a synchronous motor is vector-controlled, an arbitrary value has been given as a d-axis current command id* on a rotational biaxial coordinate axis (d-q axis) in advance. As a q-axis current command iq* on the rotational biaxial coordinate axis (d-q axis), a value which is in proportional to a desired torque of the synchronous motor 1 has been given in advance.
The current controller 4 outputs a d-axis voltage command vd* and a q-axis voltage command vq* on the rotational biaxial coordinate axis (d-q axis) such that detection currents id and iq on the rotational biaxial coordinate axis (d-q axis) rotated in synchronism with a rotational position output from the rotational position computing unit 10 follow the d-axis current command id* and the q-axis current command iq*, respectively.
The coordinate converter 5 coordinate-converts the d-axis voltage command vd* and the q-axis voltage command vq* on the rotational biaxial coordinate axis (d-q axis) into an a-axis voltage command va* and a b-axis voltage command vb* on static biaxial coordinates (a-b axis) based on a cosine cos (th0) and a sine sin (th0) obtained from the rotational position computing unit 10.
The coordinate converter 6 coordinate-converts the a-axis voltage command va* and the b-axis voltage command vb* on the static biaxial coordinates (a-b axis) into three-phase voltage commands vu*, vv* and vw*. The inverter 3 applies three-phase voltages to the synchronous motor 1 in accordance with the three-phase voltage commands vu*, vv* and vw* obtained from the coordinate converter 8.
The current detectors 2 detect a U-phase current iu and a V-phase current iv of the synchronous motor 1. The coordinate converter 7 coordinate-converts the U-phase current iu and the V-phase current iv obtained from the current detectors 2 into an a-axis current ia and a b-axis current ib on the static biaxial coordinates (a-b axis).
The coordinate converter 8 outputs the a-axis current ia and the b-axis current ib on the static biaxial coordinates (a-b axis) and a d-axis current command id and a q-axis current command iq on the rotational biaxial coordinate axis (d-q axis) based on a cosine cos (th0) and a sine sin(th0) obtained from the rotational position computing unit 10.
The adaptive observer 9 outputs an a-axis estimated rotor magnetic flux par0 and a b-axis estimated rotor magnetic flux pbr0 on the static biaxial coordinates (a-b axis) and an estimated rotational speed wr0 based on the a-axis voltage command va* and the b-axis voltage command vb* on the static biaxial coordinates (a-b axis) and the a-axis current ia and the b-axis current ib on the static biaxial coordinates (a-b axis).
The rotational position computing unit 10 calculates the cosine cos (th0) and the sine sin (th0) of a rotational position th0 of an estimated magnetic flux vector from the a-axis estimated rotor magnetic flux par0 and the b-axis estimated rotor magnetic flux pbr0 on the static biaxial coordinates (a-b axis) according to the following equations (1) to (3),                               cos          ⁡                      (            th0            )                          =                  par0          pr0                                    (        1        )                                          sin          ⁡                      (            th0            )                          =                  pbr0          pr0                                    (        2        )             pr0=√{square root over (par02+pbr02)}  (3)
FIG. 16 is a diagram which shows the internal configuration of the adaptive observer 9 shown in FIG. 15. In this figure, reference numeral 11 denotes an electric motor model, 12 and 13 denotes subtractors, 14 denotes a speed identifier, 15 denotes a gain computing unit, and 16 denotes a deviation amplifier.
The electric motor model 11 calculates an a-axis estimated current ia0 and a b-axis estimated current ib0 on the static biaxial coordinates (a-b axis) and the a-axis estimated rotor magnetic flux paro and the b-axis estimated rotor magnetic flux pbr0 based on the a-axis voltage command va* and the b-axis voltage command vb* on the static biaxial coordinates (a-b axis), the estimated rotational speed wr0, and deviations e1, e2, e3, and e4 (to be described later) according to the following equation (4),                                                                                                               ⅆ                                                                                                                       ⅆ                    t                                                  ⁢                                  (                                                                                    ia0                                                                                                            ib0                                                                                                            par0                                                                                                            pbr0                                                                              )                                            =                            ⁢                                                                    (                                                                                                                        -                                                          R                              L                                                                                                                                0                                                                          0                                                                                                      wr0                            L                                                                                                                                                0                                                                                                      -                                                          R                              L                                                                                                                                                            -                                                          wr0                              L                                                                                                                                0                                                                                                                      0                                                                          0                                                                          0                                                                                                      -                            wr0                                                                                                                                                0                                                                          0                                                                          wr0                                                                          0                                                                                      )                                    ⁢                                      (                                                                                            ia0                                                                                                                      ib0                                                                                                                      par0                                                                                                                      pbr0                                                                                      )                                                  +                                                                                                      ⁢                                                                    (                                                                                                                        1                            L                                                                                                    0                                                                                                                      0                                                                                                      1                            L                                                                                                                                                0                                                                          0                                                                                                                      0                                                                          0                                                                                      )                                    ⁢                                      (                                                                                                                        va                            *                                                                                                                                                                            vb                            *                                                                                                                )                                                  -                                  (                                                                                    e1                                                                                                            e2                                                                                                            e3                                                                                                            e4                                                                              )                                                                                        (        4        )            
The subtractor 12 outputs a result obtained by subtracting the a-axis current ia from the a-axis estimated current ia0 as an a-axis current deviation ea. The subtractor 13 outputs a result obtained by subtracting the b-axis current ib from the b-axis estimated current ib0 as a b-axis current deviation eb.
The speed identifier 14 outputs the estimated rotational speed wr0 based on the Par0, pbr0, ea, and eb according to the following equation (5),                     wr0        =                              (                          kp              +                              ki                s                                      )                    ⁢                      (                                          ea                ·                pbr0                            -                              eb                ·                par0                                      )                                              (        5        )            
The gain computing unit 15 outputs gains g1, g2, g3, and g4 based on the estimated rotational speed wr0 according to the following equations (6) to (9),                     g1        =                              -                          (                              k                -                1                            )                                ⁢                      R            L                                              (        6        )             g2=(k−1)wr0  (7)g3=kR  (8)g4=−kLwr0  (9)where k is an arbitrary real number larger than 1.
The deviation amplifier 16 amplifies the current deviations ea and eb by the gains g1, g2, g3, and g4 to output the deviations e1, e2, e3, and e4. More specifically, the deviation amplifier 16 outputs the deviations e1, e2, e3, and e4 to the electric motor model 11 according to the following equation (10),                               (                                                    e1                                                                    e2                                                                    e3                                                                    e4                                              )                =                              (                                                            g1                                                                      -                    g2                                                                                                g2                                                  g1                                                                              g3                                                                      -                    g4                                                                                                g4                                                  g3                                                      )                    ⁢                      (                                                            ea                                                                              eb                                                      )                                              (        10        )            
With the configuration described above, the adaptive observer 9 outputs the estimated rotor magnetic fluxes par0 and pbr0 and the estimated rotational speed wr0.
In the conventional control apparatus for a synchronous motor, the frequency components of the voltages va* and vb* input to the adaptive observer become high when the synchronous motor operates at a high rotational speed because the adaptive observer is constituted on the two static axes. Therefore, when the calculation of the adaptive observer is realized by a computer, sampling of the voltages va* and vb* must be performed at a very short cycle to drive the synchronous motor at a high rotational speed.
The conventional control apparatus for a synchronous motor cannot be easily applied to a synchronous motor in which an inductance Ld in the direction (d-axis direction) of a rotor magnetic flux is not equal to an inductance. Lq in the direction (q-axis direction) perpendicular to the direction of the rotor magnetic flux, i.e., a synchronous motor in which a salient-pole ratio is not 1. In the synchronous motor in which the salient-pole ratio is not 1, an inductance on static biaxial coordinates changes depending on the position of a rotor.
The conventional control apparatus for a synchronous motor constitutes an adaptive observer on static biaxial coordinates and cannot handle an inductance as a constant value. For this reason, the control apparatus cannot be easily applied to the synchronous motor.
In the conventional control apparatus for a synchronous motor, gains g1, g2, g3, and g4 are determined such that the pole of the adaptive observer is in proportion to the pole of the synchronous motor. However, when the synchronous motor is driven at a low rotational speed, the pole of the adaptive observer decreases because the pole of the synchronous motor is small. Therefore, the response of an estimated magnetic flux is deteriorated, the characteristics of the control system itself is also deteriorated.
The feedback gains g1, g2, g3, and g4 are set such that the pole of the adaptive observer 9 is in proportion to the unique pole of the synchronous motor 1. However, when an estimated rotational speed deviates from an actual rotational speed, these gains are not appropriate to perform state estimation. For this reason, the actual rotational speed wr deviates from the estimated rotational speed wr0, and thereby the accuracy of magnetic flux estimation is deteriorated.
Therefore, it is an object of the present invention to provide a control apparatus for a synchronous motor which can constitute an adaptive observer on rotational two axes and can control the synchronous motor at a high rotational speed.